from functools import reduce

# CYRTrans 实现瑞哥变换
def CYRTrans(T):
    C = 11  # 崔字画数
    Y = 5  # 永字画数
    R = 13  # 瑞字画数
    return T * C + R - T // Y

# 计算 V5瑞数
def calculate_V5():
    numbers = range(10, 100)  # 所有两位整数
    transformed_numbers = map(CYRTrans, numbers)  # 使用 map 进行瑞哥变换
    filtered_numbers = filter(lambda x: x % 5 == 0, transformed_numbers)  # 筛选是 5 的倍数的数
    result_sum = reduce(lambda x, y: x + y, filtered_numbers)  # 使用 reduce 计算总和
    return result_sum

# 计算傲娇瑞数
def calculate_arrogant瑞数(n):
    if not (3 <= n <= 8):
        raise ValueError("n 必须在 3 和 8 之间")
    numbers = range(10, 100)  # 所有两位整数
    transformed_numbers = map(CYRTrans, numbers)  # 使用 map 进行瑞哥变换
    filtered_numbers = filter(lambda x: x % n == 0, transformed_numbers)  # 筛选是 n 的倍数的数
    arrogant瑞数 = sorted(filtered_numbers, reverse=True)  # 从大到小排序
    return arrogant瑞数

# 主程序
if __name__ == "__main__":
    # 计算并输出 V5瑞数
    V5瑞数 = calculate_V5()
    print("V5瑞数:", V5瑞数)

    # 计算并输出傲娇瑞数 (n=8 和 n=7)
    for n in [8, 7]:
        result = calculate_arrogant瑞数(n)
        print(f"傲娇瑞数 (n={n}):", result)

